#include <Arduino.h>
#include <Adafruit_NeoMatrix.h> //点亮LED矩阵需要的库
#include "musicfft.h" //音乐频谱库

//像素阵列定义
#define kMatrixWidth   32             //宽度
#define kMatrixHeight  8              //高度
#define BRIGHTNESS     10            //默认亮度 0-255
#define BRIGHTNESS_INTERVAL 30        //亮度调节间隔
#define LED_PIN        8              //像素阵列引脚

Adafruit_NeoMatrix *matrix;     //LED矩阵类指针

//像素矩阵初始化
void InitLED_Matrix(void)
{
  //设置像素矩阵的方向以及排列方式
  matrix = new Adafruit_NeoMatrix(32, 8, LED_PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT+
    NEO_MATRIX_COLUMNS +  NEO_MATRIX_ZIGZAG,
    NEO_GRB + NEO_KHZ800);
  matrix->setTextWrap(false);       //设置文字是否自动换行
  matrix->clear();                  //清除当前显示内容
  matrix->setBrightness(BRIGHTNESS);//设置亮度
}

void showFFT(void)
{
  //进行采样
  getSamples();
  //更新频谱柱
  displayUpdate(matrix, 2);
}

void setup() 
{
  //初始化LED矩阵显示
  InitLED_Matrix();    
}

void loop() 
{
  matrix->clear();
  showFFT();
  matrix->show();

  delay(50);
}

